"""
1、两数之和
给定一个整数数组 nums和一个整数目标值 target，请你在该数组中找出 和为目标值 target 的那两个整数，并返回它们的数组下标。
你可以假设每种输入只会对应一个答案。但是，数组中同一个元素在答案里不能重复出现。
你可以按任意顺序返回答案。
"""
# nums = [1, 2, 3, 4, 5, 6, 7, 8]
# target = 9
#
# nums_long = len(nums)
# for i in range(nums_long):
#     for j in range(i + 1, nums_long):
#         if nums[i] + nums[j] == target:
#             print(i, j)

"""
最后一个单词的长度
给你一个字符串 s，由若干单词组成，单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。
单词 是指仅由字母组成、不包含任何空格字符的最大子字符串
"""
s = "Hello World"
# list1 = s.split(' ')
# print(len(list1[-1]))

# todo:编写一个程序，要求用户输入一个字符串，并将其反转输出。
# str1 = 'fengdingyu'
# print(str1[::-1])

# todo:编写一个程序，要求用户输入一个整数，判断它是奇数还是偶数，并输出结果
# number = int(input('请输入'))
# if number % 2 == 0:
#     print('偶数')
# else:
#     print('奇数')

# todo:编写一个程序，计算并输出 1 到 100 之间所有能被 7 整除但不能被 5 整除的数的和
# sum = 0
# for i in range(1, 101):
#     if i % 7 == 0 and i % 5 != 0:
#         sum +=i
# print(sum)

# todo:输入任意三个数，用if语句编写求出其中最小值的程序
# list1 = input('请输入三个数空格隔开敲回车')
# list1 = list1.split(' ')
# print(list1)
# min = int(list1[0])
# for i in list1:
#     if int(i) < min:
#         min = int(i)
# print(min)

# todo:打印1 - 100之间的偶数
# for i in range(1, 101):
#     if i % 2 == 0:
#         print(i, end=',')

# todo 九九乘法表
# for i in range(1, 10):
#     for j in range(1, i + 1):
#         print(f"{j}*{i}={i * j}", end='\t')
#     print()

# todo 求s = a+aa+aaa+aaaa+aaaaa.....，其中a是一个数字。例如：2+22+222+2222+22222（此时共有5个数相加），几个数相加由键盘控制。
# a = int(input("请输入数字 a："))
# n = int(input("请输入相加的数量："))
# result = 0
# num = a
#
# for i in range(1, n + 1):
#     num = num * 10 + a
#     result += num
#     print(f"{num}+",end='')
#
# print("结果为：", result)

# todo:while 循环实现输出 2-3+4-5+6...+100 的和

# n = 2
# sum = 0

# while n <= 100:
#     if n % 2 == 0:
#         sum += n
#     if n % 2 == 1:
#         sum -= n
#     n += 1
# print(sum)

# qufan = True
# while n <= 100:
#     if qufan:
#         sum += n
#     else:
#         sum -= n
#     qufan = not qufan
#     n += 1
# print(sum)

# todo:有一个奇数（13），然后判断最少几个9除于该数的结果为整数
# n = 9
# x = 13
# z = 9
# while True:
#     if n % 13 == 0:
#         print(n)
#         break
#     n = n * 10 + z

# todo:重复让用户输入一个单词，直到用户输入bye才退出，统计一下，用户一共输入了多少个单词？
# n = 1
# while True:
#     input_ = input('请输入')
#     if input_ == 'bye':
#         break
#     n += 1
# print(f"输入{n}次 成功")

# todo:实现用户输入用户名和密码,当用户名为 seven 或 alex 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次
# n = 1
# user = ['seven', 'alex']
# pwd = '123'
#
# while n <= 3:
#     user1 = input('请输入账号')
#     pwd1 = input('请输入密码')
#     if user1 in user and pwd1 == '123':
#         print('登录成功')
#         break
#     n += 1

# todo:用程序计算100以内有多少个3的整数倍数字
# n = 0
# for i in range(1, 101):
#     if i % 3 == 0:
#         n += 1
# print(f"有{n}个数可以整除3")

# todo:实现判断用户输入的内容中是否有c,
# n = 1
# while n <= 3:
#     inp = input('请输入')
#     inp = list(inp)
#     for i in inp:
#         if i == 'c':
#             print('输入内容有c')
#             break

# todo:一行代码实现：生成一个1-100的列表
# list1 = [i for i in range(1,101)]
# print(list1)


# todo:让用户输入个人基本信息，包括 姓名、电话、住址、年龄，通过字典保存用户的数据信息，当用户输入q的时候，结束输入打印显示全部的用户名，并要求选择一个名称
#
# 然后打印输出这个用户的全部信息，输出信息的格式：用户 xxx，电话是xxx，地址是xxx，年龄是xxx

# list1 = ['姓名', '电话', '住址', '年龄']
# list2 = []
#
#
# # 添加函数
# def add():
#     dict1 = {}
#     for i in list1:
#         inf = input(f"请输入{i}")
#         dict1[i] = inf
#     list2.append(dict1)
# # 查找函数
# def cho(name):
#     for person in list2:
#         if person['姓名'] == name:
#             return person
# # 菜单函数
# def main():
#     print("输入信息 1")
#     print("结束输入 q")
#     print("查看信息 2")
#     print("查看某人 3")
#     return input('请选择功能')
#
# while True:
#     option = main()
#     if option == '1':
#         add()
#         continue
#     if option == '2':
#         print(list2)
#         continue
#     if option == 'q':
#         print('退出')
#         break
#     if option == '3':
#         name = input("请输入要查询的姓名：")
#         result = cho(name)
#         if result is not None:
#             print(result)
#         else:
#             print(f"未找到姓名为 {name} 的信息")
#         continue


"""
18、图书管理系统
支持选项，选择功能
图书管理系统：
1.添加图书
2.删除图书
3.修改图书
4.查询图书
5.显示所有图书
6.退出操作
"""
#
# book_list = []
#
#
# ## 添加图书
# def add_book(name):
#     global book_list
#     book_list.append(name)
#     print('*添加成功*')
#
#
# ## 修改图书
# def updata_book(name):
#     global book_list
#     new_name = input('请输入修改后的名字')
#     for i in range(len(book_list)):
#         if book_list[i] == name:
#             book_list[i] = new_name
#             print('修改成功')
#             break
#     else:
#         print('图书不存在')
#
#
# ## 显示所有图书
# def look_book():
#     global book_list
#     print('--------图书列表---------')
#     print(book_list)
#
#
# ## 删除图书
# def del_book(name):
#     global book_list
#     if name in book_list:
#         book_list.remove(name)
#         print("图书删除成功")
#     else:
#         print("*图书不存在*")
#
#
# ## 删除全部
# def all_del():
#     global book_list
#     book_list.clear()
#     print('*列表已清空*')
#
#
# # 主菜单
# def main():
#     print("--------主菜单---------")
#     print("*你好，请操作*")
#     print("*添加图书[1]")
#     print("*显示所有图书[2]")
#     print("*删除图书[3]")
#     print("*修改图书[4]")
#     print("*退出操作[5]")
#     return input("请输入你的选择:")
#
#
# while True:
#     option = main()
#     if option == '1':
#         add_book(input("请输入图书名:"))
#         continue
#     if option == '2':
#         look_book()
#         continue
#     if option == '3':
#         del_book(input("请输入要删除的图书名:"))
#         continue
#     if option == '4':
#         updata_book(input('请输入要修改的图书名'))
#         continue
#     if option == '5':
#         print("*程序退出*")
#         break
#     else:
#         print("无效选项，请重新输入:")
#         continue

"""
预设一个 0~9 之间的整数，让用户猜一猜并输入所猜的数，如果大于预设的数，显示“太大” ；小于预设的数，显示“太小” ，如此循环，直至猜中该数，显示“恭喜！你猜中了！ ”（使用random模块）
"""
# from random import *
#
# nuba = randint(0, 10)
#
# while True:
#     numb = int(input('请输入所猜数'))
#     if numb > nuba:
#         print('太大')
#     elif numb < nuba:
#         print('太小')
#     else:
#         print('恭喜猜中了')
#         break

"""
用户分别从键盘输入4个整数和3个整数组成两个列表list1和list2，将列表list2合并到list1中，并在list1末尾再添加两个数字90和100，然后对list1降序排列，最后输出最终的列表list1
"""

# list1 = []
# list2 = []
#
# for i in range(4):
#     num = int(input("请输入list1的整数: "))
#     list1.append(num)
#
# for j in range(3):
#     num = int(input("请输入list2的整数: "))
#     list2.append(num)
#
# list1 += list2
# list1.extend([90, 100])
#
# list1.sort(reverse=True)
#
# print("最终的列表list1: ", list1)

"""
t1 = (1, 99, 3, "str", [1, 8], 99)
元组中出现重复的次数，统计每个数对应索引，比如说99的这个数字，要有1，还有5
"""

# t1 = (1, 99, 3, "str", [1, 8], 99)
#
# for i in range(len(t1)):
#     if t1.count(t1[i]) > 1:
#         print(f"{t1[i]} 重复 出现位置{i}")
